home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
rbbs_pc
/
ugly174.zip
/
R-PCUGLY.MRG
< prev
next >
Wrap
Text File
|
1992-07-05
|
91KB
|
2,270 lines
* ------------[ BLED merge (c) Ken Goosens ]-------------
* Merge this against RELEASE\RBBS-PC.BAS to produce RBBS-PC.BAS
* RELEASE\RBBS-PC.BAS: Date 6-20-1992 Size 147219 bytes
* ------------[ Created 07-04-1992 19:42:56 ]------------
* REPLACING old line(s) by new
* ------[ first line different ]------
400 ' CALL SkipLine(1) ' UG070501
ZEscapeInsecure = ZFalse
ZUpperCase = ZFalse
CALL SetExpert
WasA1$ = "What is your "
CALL FlushCom (ZWasDF$)
GOSUB 12500
CALL CommInfo
IF ZFF THEN _
ZLogonErrorIndex = 1 : _
GOTO 10620
IF ZMinOldCallerBaud > ZBaudTest! THEN _
CALL QuickTPut1 ("Sorry, But" + STR$(ZBaudTest!) + " BPS Isn't Allowed Here.") : _
ZWasLG$(7) = "OLD CALLER BAUD RESTRICTION" : _
ZLogonErrorIndex = 7 : _
GOTO 10620
LogIndex = 4 - (ZLenIndiv > 0 AND ZStartIndiv > 0)
TurboLogon = (LEFT$(ZUserIn$(LogIndex),1) = "!")
SkipWelcomeScreen = (LEFT$(ZUserIn$(LogIndex),1) = "$")
ZHomeConf$ = RIGHT$(ZUserIn$(LogIndex),LEN(ZUserIn$(LogIndex)) _
+ (TurboLogon OR SkipWelcomeScreen))
CALL AllCaps(ZHomeConf$)
'
' ***** CHECK IF SAME USER ON ANOTHER NODE ***
'
* INSERTING new line(s)
413 ZOutTxt$ = ZFirstName$ ' UG070501
414 CALL NameCaps(ZOutTxt$) ' UG070501
RETURN ' UG070501
* REPLACING old line(s) by new
420 IF MID$(ZMsgRec$,57,1) = "A" THEN _
ZLogonErrorIndex = 6 : _
ZWasLG$(6) = ZWasLG$(6) + _
LEFT$(ZMsgRec$,25) : _
* ------[ first line different ]------
ZOutTxt$ = ZActiveUserName$ + " is Logged Onto Another Node!" :_ ' UG070501
CALL RingCaller : _
GOTO 10620
ZFirstName$ = LEFT$(ZMsgRec$,INSTR(ZMsgRec$, " ") - 1)
IF NOT ZPrivateDoor THEN _
CALL SkipLine (1) : _
GOSUB 413 : _ ' UG070501
CALL QuickTPut1 (ZOutTxt$ + ", Welcome Back to the BBS.") : _ ' UG070501
CALL Talk (11,ZOutTxt$)
IF ZExitToDoors THEN _
GOTO 457
'
' ***** TEST FOR REMOTE SYSOP LOGGING ON ***
'
* REPLACING old line(s) by new
* ------[ first line different ]------
457 ' CALL SkipLine (1) ' UG070501
GOSUB 12840
GOSUB 12850
GOSUB 12598
CALL RegToCurrent
CALL CompDate (ZTodayRegYY,ZTodayRegMM,ZTodayRegDD,TodayComputeDate!)
IF NOT Found THEN _
GOTO 700
GOSUB 12984
'
' ***** ACTIVE USER FOUND ****
'
* REPLACING old line(s) by new
462 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
CALL CompDate (ZUserRegYY,ZUserRegMM,ZUserRegDD,UserComputeDate!) : _
ZRegDaysRemaining = UserComputeDate! + _
ZDaysInRegPeriod - _
TodayComputeDate! : _
CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
ELSE ZDaysInRegPeriod = 0
IF NOT ZPrivateDoor THEN _
IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
IF ZUserSecLevel > ZTempExpiredSec THEN _
* ------[ first line different ]------
CALL QuickTPut (ZWasLG$(9) + _
" - Security Level Set to" + _
STR$(ZExpiredSec) + ".",2) : _ ' UG070501
CALL BufFile(ZHelpPath$+"RGXPIRD"+ZHelpExtension$,WasX) : _
ZLogonErrorIndex = 9 : _
ZUserSecLevel = ZTempExpiredSec : _
LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
GOSUB 5135
RETURN
'
' *** DISPLAY LOG-ON MESSAGE FOR SPECIFIC SECURITY LEVEL **
'
* REPLACING old line(s) by new
643 IF NOT LogonPswdFailed THEN _
GOSUB 41070 : _
GOTO 644 _
ELSE IF ZExitToDoors THEN _
GOTO 644
GOSUB 12991
* ------[ first line different ]------
ZOutTxt$ = "Forget Your Password? Leave a Message to the SysOp (Y,[N])" ' UG070501
GOSUB 12999
IF ZYes THEN _
OrigSubject$ = "FORGOTTEN PASSWORD" : _
GOSUB 1801
ZFirstName$ = ""
GOTO 902
* REPLACING old line(s) by new
700 ZExpertUser = ZFalse
CALL SetExpert
IF ZMinNewCallerBaud > ZBaudTest! THEN _
* ------[ first line different ]------
CALL QuickTPut ("Sorry, But" + STR$(ZBaudTest!) + " BPS is Only Available to Registered Users.",1) : _ ' UG070501
ZWasLG$(7) = "NEW CALLER BAUD RESTRICTION" : _
ZLogonErrorIndex = 7 : _
GOTO 10620
CALL SkipLine (1) ' UG070501
CALL QuickTPut1 (ZActiveUserName$ + " Isn't in the Users File.") ' UG070501
ZLastIndex = 0
GOSUB 12558
IF ZNo THEN _
GOSUB 13700 : _
GOTO 400
' CALL SkipLine (1) ' UG070501
CALL Line25
ZWasZ$ = ZFirstName$
GOSUB 670
ZWasZ$ = ZLastName$
GOSUB 670
ZWasZ$ = ZActiveUserName$
GOSUB 670
TurboLogon = ZFalse
* REPLACING old line(s) by new
725 IF ZUserSecLevel < ZMinLogonSec THEN _
ZLogonErrorIndex = 1 : _
GOTO 460
IF ZFirstName$ = ZLastName$ THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Logon Error: " + ZFirstNamePrompt$+"/"+ZLastNamePrompt$+" Can't Be the Same.") : _ ' UG070501
ZLogonErrorIndex = 3 : _
GOTO 10620
IF NOT ZRememberNewUsers THEN _
GOSUB 13700 : _
ZUserFileIndex = 0 : _
GOSUB 12960: _
PrevLastOn$ = "00-00-00": _
GOTO 735
ZNewUser = ZTrue
CALL OpenUser (ZHighestUserRecord)
GOSUB 9450
GOSUB 12630
MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
IF ZStartIndiv > 0 THEN _
MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
GOSUB 9440
* REPLACING old line(s) by new
739 CALL QuickTPut1 ("User Logged As: " + ZActiveUserName$ + " from " + ZWasCI$) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
740 ZOutTxt$ = "C)hange "+ZFirstNamePrompt$+"/"+ZLastNamePrompt$+"/"+ZUserLocation$+", D)isconnect, [R]egister" ' UG070501
GOSUB 12995
IF ZWasQ = 0 THEN _
ZWasZ$ = "R" _
ELSE CALL AraAllCaps (ZUserIn$(),1) : _
ZWasZ$ = ZUserIn$(1)
ZWasS = INSTR("CDR",ZWasZ$)
* REPLACING old line(s) by new
* ------[ first line different ]------
754 CALL QuickTPut1 ("You Have Guest Privileges. You'll Have to Re-Register On the Next Call.") ' UG070501
ZUserSecSave = ZUserSecLevel
GOTO 832
* REPLACING old line(s) by new
755 IF ZPrivateDoor THEN _
ZUserIn$ = ZPswd$ : _
ZWasZ$ = ZUserIn$ : _
RETURN
GOSUB 12800
* ------[ first line different ]------
ZOutTxt$ = "Re-Enter Your Password" ' UG070501
GOSUB 45010
SWAP ZWasZ$,ZUserIn$
CALL AllCaps (ZWasZ$)
IF ZUserIn$ <> ZWasZ$ THEN _
CALL QuickTPut2 ("Passwords Don't Match.") : _ ' UG070501
GOTO 755
RETURN
* REPLACING old line(s) by new
758 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
CALL Line25
ZFileName$ = ZNewUserFile$
ZStopInterrupts = ZTrue
GOSUB 1790
* ------[ first line different ]------
' CALL SkipLine(1) ' UG070501
RETURN
'
' *** R - COMMAND FROM NEWUSER ROUTINE - REGISTER **
'
* REPLACING old line(s) by new
760 ZLastIndex = 0
GOSUB 755
CALL AllCaps (ZWasZ$)
LSET ZPswd$ = ZWasZ$
* ------[ first line different ]------
' CALL QuickTPut1 ("Please REMEMBER your password") ' UG070501
ZUserTextColor = 37
ZTempSecLevel = ZUserSecLevel
CALL Protocol
ZUserXferDefault$ = "N"
ZProtoPrompt$ = "None"
LSET ZListNewDate$ = CHR$(91) + CHR$(1) + CHR$(1) ' UG070502
IF ZNewUserSetsDefaults THEN _
CALL SkipLine (1) : _ ' UG070501
ZBypassTimeCheck = ZTrue : _
GOSUB 43000 : _
CALL SkipLine (1) : _ ' UG070501
ZBypassTimeCheck = ZFalse : _
CALL Graphic (ZFileName$) : _
GOSUB 42805 : _
GOSUB 42700 : _ ' UG070501
CALL SkipLine (1) : _ ' UG070501
ELSE ZUpperCase = ZFalse : _
ZNulls = ZFalse
ZPageLength = ZPageLengthDef
CALL SetNewUserDef
GOSUB 5135
CALL DefaultU
* REPLACING old line(s) by new
800 IF ZAdjustedSecurity THEN _
GOSUB 5135
IF ZOrigCnfg$ = ZCurDef$ THEN _
ZMainUserFileIndex = ZUserFileIndex : _
ZOrigSec = ZUserSecLevel : _
ZUserSecSave = ZUserSecLevel : _
ZOrigUserName$ = ZActiveUserName$
ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
(NOT ZPrivateDoor) AND (NOT ZExitToDoors))
GOSUB 9500
IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
" Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2)
PrevLastOn$ = ZLastDateTimeOn$
IF ZLocalUser THEN _
ZTalkToModemAt$ = "9600" : _
ZBaudParity$ = "9600 BPS,N,8,1" : _
ZModemInitBaud$ = "9600" : _
ZSnoop = ZTrue : _
ZLineFeeds = ZTrue
CALL SetCrLf
CALL SetPrompt
CALL XferType (2,ZTrue)
IF NOT ZSubBoard THEN _
BoardCheckDate$ = PrevLastOn$
CALL SetSysOp
IF ZWasA THEN _
ZActiveUserName$ = "SYSOP" : _
ZFirstName$ = "SysOp"
IF ZExitToDoors OR ZSubBoard THEN _
GOTO 815
GOSUB 465
IF (ZEightBit AND _
ZAutoDownDesired) OR _
ZAskID THEN _
CALL TestUser
CALL QuickTPut1 ("Logging " + ZActiveUserName$)
CALL Talk (1,ZOutTxt$)
Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
CALL QuickTPut1 ("RBBS-PC " + ZVersionID$ + " Node " + ZNodeID$ + _
* ------[ first line different ]------
", Running at" + Temp$) ' UG070501
CALL SkipLine (1)
Attempts = 0
ZWasZ$ = ZActiveUserName$ + _
" on at " + _
ZCurDate$ + _
", " + _
ZTime$ + _
" from " + _
ZWasCI$ + _
"," + Temp$
ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
'
' * ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
'
WasX$ = "{" + _
HashValue$ + _
"/" + _
ZIndivValue$ + _
"}"
IF LEN(ZWasZ$) < 65 THEN _
WasX = 65 _
ELSE WasX = LEN(ZWasZ$) + 2
MID$(ZWasNG$,WasX) = WasX$
CALL Printit (" " + ZWasZ$)
IF ZNewUser THEN _
CALL UpdtCalr ("NEWUSER",1) : _
CALL Muzak (2)
'
' ***** NOTIFY CALLER IF ABLE TO "AUTODOWN" ****
'
' IF ZEightBit AND ZAutoDownYes THEN _ ' UG070501
' ZOutTxt$ = CHR$(9) + _ ' UG070501
' ZReturnLineFeed$ + _ ' UG070501
' "You may use AUTODOWNLOADing!" : _ ' UG070501
' CALL RingCaller : _ ' UG070501
' CALL DelayTime(4) ' UG070501
* REPLACING old line(s) by new
816 IF NOT ZNewUser THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Times On:" + STR$(ZTimesLoggedOn) + _
" Last On: " + PrevLastOn$) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
817 IF NOT ZRemindFileXfers OR ZNewUser THEN _ ' UG070501
CALL SkipLine (1) : _ ' UG070501
GOTO 818
ZOutTxt$ = "Files Downloaded:" + _
STR$(ZDnlds) + _
" Uploaded:" + _
STR$(ZUplds)
GOSUB 12979 ' UG070501
CALL CheckRatio (ZFalse)
CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
832 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
IF ZRegDaysRemaining <= ZDaysToWarn AND _
ZRegDaysRemaining > 0 AND ZUserSecLevel > ZTempExpiredSec THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("Warning: Your Registration Expires in" + _
STR$(ZRegDaysRemaining) + " Days.") : _ ' UG070501
CALL BufFile(ZHelpPath$+"RGXPIRE"+ZHelpExtension$,WasX) : _
IF NOT ZOK THEN CALL DelayTime (5)
IF (NOT ZReqQuesAnswered) AND _
ZReqQues$ <> "" THEN _
ZFileName$ = ZReqQues$ : _
GOSUB 11520 : _
IF ZOK THEN _
ZReqQuesAnswered = ZTrue
* REPLACING old line(s) by new
850 ZSubParm = 2
CALL Line25
* ------[ first line different ]------
' CALL SkipLine (1) ' UG070501
IF TurboLogon THEN _
ZBulletinSave$ = ZBulletinMenu$ : _
GOSUB 9750 : _
CALL SkipLine (1) : _ ' UG070501
GOTO 900
CALL CountNewFiles (BoardCheckDate$,ZMsgPtr(),LastNew,ZOutTxt$)
IF ZFMSDirectory$ <> "" THEN _
CALL QuickTPut2 ("There Are" + ZOutTxt$ + " New Files.") _ ' UG070501
ELSE GOTO 852
IF ZNewUser OR LastNew < 1 OR NOT ZNewFilesCheck THEN _
GOTO 852
WasL = LEN(ZDnldDrives$)
SecNum = 19
IF (NOT ZSkipFilesLogon) AND _
ZUserSecLevel >= ZOptSec(SecNum) THEN _
ZOutTxt$ = "List the New Files ([Y],N)" : _ ' UG070501
GOSUB 12999 : _
IF NOT ZNo THEN _
ZLastIndex = 3 : _
ZAnsIndex = 1 : _
ZWasQ = 3 : _
ZUserIn$(2) = MID$(BoardCheckDate$,1,2) + _
MID$(BoardCheckDate$,4,2) + _
MID$(BoardCheckDate$,7,2) : _
ZWasY$ = ZUserIn$(3) : _
CALL BreakFileName (ZFMSDirectory$,DR$,ZWasY$,WasX$,ZFalse) : _
ZUserIn$(3) = ZWasY$ : _
TimeLockExempt = ZTrue : _
GOSUB 20185 : _
ZLastIndex = 0 : _
TimeLockExempt = ZFalse
* REPLACING old line(s) by new
856 IF NOT ZCheckBulletLogon THEN _
ZAnsIndex = 0 : _
* ------[ first line different ]------
ReturnToPrompt = ZTrue : _ ' UG070501
GOSUB 9760 : _
GOTO 900
' CALL SkipLine (1) ' UG070501
ZOutTxt$ = "Skip the Bulletins (Y,[N])" ' UG070501
GOSUB 12999
IF ZYes THEN _
GOTO 900
* REPLACING old line(s) by new
1209 ' CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
1235 ZWasZ$ = ZUserIn$(ZAnsIndex)
IF ZWasZ$ = SPACE$(LEN(ZWasZ$)) THEN _
GOTO 1230
CALL SearchCmd (ZSubSection,ZFF)
IF ZFF > 0 THEN _
GOTO 1239
IF ZWasQ > 0 THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("Sorry, Unknown Command: " + ZWasZ$) ' UG070501
CALL FlushKeys
GOTO 1230
* REPLACING old line(s) by new
1243 ZFileName$ = ZNewsFileName$
CALL RBBSFind (ZFileName$,WasZ,WasY,ZMsgPtr,WasD)
IF WasZ <> 0 THEN _
RETURN
FDate# = WasD + (100 * ZMsgPtr) + (10000# * (WasY + 1980))
IF NewsDate# > FDate# THEN _
RETURN
IF TurboLogon THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("News File Updated Since Your Last Call.") : _' UG070501
RETURN
ZStopInterrupts = ZFalse
GOSUB 1790
WasZ = 0
RETURN ' LP01NEWS
'
' **** QUIT COMMAND (GLOBAL) ***
'
* REPLACING old line(s) by new
* ------[ first line different ]------
1300 CALL QuickTPut1 (ZConfName$ + " Message Base") ' UG070501
RETURN
'
' **** COMMON LOCAL DISPLAY PRINT ***
'
* REPLACING old line(s) by new
* ------[ first line different ]------
1397 GOTO 12977 ' UG070501
'
' *** A - answer questionnaire
'
* REPLACING old line(s) by new
1400 WasA1$ = ZAnsMenu$
CALL Talk (13,ZOutTxt$)
* ------[ first line different ]------
ReturnToPrompt = (ZAnsIndex < ZLastIndex) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
1401 ZStackC = ZTrue ' UG070501
CALL SubMenu ("Which Questionnaires, L)ist" + ZPressEnterExpert$, _ ' UG070501
WasA1$,ZQuesPath$,".DEF","",ZTrue,ZFalse,ZTrue,"",WasX,ZTrue)
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
QuestHold$ = ZWasZ$
GOSUB 11520
CLOSE 2
CALL UpdtCalr (QuestHold$ + " questionnaire " + _
MID$("answeredaborted",1 - 8 * ZQuestAborted,8),2)
CALL SkipLine (1) ' UG070501
IF ReturnToPrompt THEN _
RETURN
GOTO 1401
'
' ***** Toggle COMMAND (UTILITIES) ****
'
* REPLACING old line(s) by new
1760 ZFileName$ = ZPreLog$
GOSUB 1790
ZFileName$ = ZWelcomeFile$
* ------[ first line different ]------
GOSUB 1789 ' UG070501
RETURN ' UG070501
* INSERTING new line(s)
1789 CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
1801 MsgTo$ = "SYSOP"
Subject$ = OrigSubject$
MsgFrom$ = ZActiveUserName$
GOSUB 1893
IF (ActiveMessages >= MaxMsgs OR _
((NOT ZMsgsCanGrow) AND _
(ZNextMsgRec + 5 + ZMaxNodes > HighestMsgRecord)) OR _
NOT ZCmntsAsMsgs ) THEN _
ZOutTxt$ = "Want a Reply? Use "+MID$(ZAllOpts$,5,1) + _
* ------[ first line different ]------
" Instead. Really Leave a Comment (Y,[N])" : _ ' UG070501
GOSUB 12999 : _ ' UG070501
IF NOT ZYes THEN _ ' UG070501
RETURN _
ELSE ZSysopComment = ZTrue : _
GOTO 2007
ZSysopComment = ZFalse
ZSysopMsg = ZTrue
ZMsgHeader$ = "Comment" ' UG070501
GOTO 2010
* REPLACING old line(s) by new
1850 WasBX = &H3
ZWasEN$ = ZCmntsFile$
GOSUB 12992
CALL OpenWorkA (ZCmntsFile$)
ZOutTxt$ = ZFirstName$ + _
* ------[ first line different ]------
", Thanks for Your Comments." ' UG070501
GOSUB 12977
CALL AMorPM
CALL PrintWorkA (ZActiveUserName$+" "+ZCurDate$+" "+ZTime$+" Node "+ZNodeID$)
FOR WasX = 1 TO ZLinesInMsg
CALL PrintWorkA (ZOutTxt$(WasX))
NEXT
CALL PrintWorkA (ZCarriageReturn$)
CLOSE 2
IF ZErrCode <> 0 THEN _
ZWasEL = 1850 : _
GOTO 13000
WasBX = &H3
ZWasEN$ = ZCmntsFile$
GOSUB 12993
CALL UpdtCalr ("Left comment",1)
REDIM ZOutTxt$(ZMsgDim)
RETURN
'
' **** P - COMMAND FROM MAIN MENU (DISPLAY PERSONAL MAIL) ****
'
* REPLACING old line(s) by new
1895 IF TurboLogon THEN _
RETURN
* ------[ first line different ]------
IF ActionFlag THEN _ ' UG070503
GOTO 1897 ' UG070503
ZOutTxt$ = "Check Messages in " + ZConfName$ + " ([Y],N)" ' UG070501
GOSUB 12999
IF ZNo THEN _
SkipMain = ZTrue : _
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
1897 ZUserIn$(0) = LEFT$("New ",-4*LogonMailNew) ' UG070501
IF ZActiveMessageFile$ = ZPrevBase$ THEN _
ActionFlag = ZFalse : _
RETURN
* INSERTING new line(s)
1899 GOSUB 1900 ' UG070501
CALL SkipLine(1) ' UG070501
RETURN ' UG070501
* REPLACING old line(s) by new
1900 GOSUB 5344
IF ZPrivateDoor THEN _
ActionFlag = ZTrue
ZPrevBase$ = ZActiveMessageFile$
ShowActive = ZFalse
IF NOT ActionFlag THEN _
* ------[ first line different ]------
CALL QuickTPut ("Checking " + ConfFileName$ + " Messages",0) : _ ' UG070501
ShowActive = ZTrue _ ' UG070501
ELSE CALL QuickTPut ("Loading " + ConfFileName$ + " Messages",0) ' UG070501
WasA1$ = ""
MsgCt = 0
MsgsFromUser = ZFalse
ActiveMessages = 0
MailReported = ActionFlag
FirstOld = ZTrue
GOSUB 23000
MsgRec = FirstMsgRecord
MaxMsgs = VAL(MID$(ZMsgRec$,89,7))
NumDots = 0
* REPLACING old line(s) by new
1925 ZWasA = VAL(MID$(ZMsgRec$,2,4))
IF LogonMailNew THEN _
IF ZWasA <= ZLastMsgRead THEN _
GOTO 1935
IF NOT ShowActive THEN _
GOTO 1930
MailReported = ZTrue
FirstNew = (ZWasA > ZLastMsgRead)
IF FirstNew THEN _
MsgCt = 0 : _
CALL SkipLine (1) : _
* ------[ first line different ]------
CALL QuickTPut1 ("New Mail for You (* = Private)") _ ' UG070501
ELSE IF FirstOld THEN _
CALL SkipLine (1) : _
CALL QuickTPut1 ("Old Mail for You (* = Private)") : _ ' UG070501
FirstOld = ZFalse
ShowActive = NOT FirstNew
* REPLACING old line(s) by new
1950 IF NOT MailReported THEN _
* ------[ first line different ]------
GOSUB 413 : _ ' UG070501
ZOutTxt$ = "Sorry, " + _
ZOutTxt$ + _
", No " + ZUserIn$(0) + "Mail Found for You." : _ ' UG070501
GOSUB 12975 ' UG070501
IF MsgsFromUser = 0 OR NOT ZMsgReminder OR ActionFlag THEN ' UG070522
IF MailReported AND NOT ActionFlag THEN _ ' UG070501
CALL SkipLine (1) ' UG070501
GOTO 1961
END IF ' UG070501
' IF ActionFlag THEN _ ' UG070505
' GOTO 1961 ' UG070505
ZOutTxt$ = "Mail You Left" ' UG070501
GOSUB 12975 ' UG070501
* REPLACING old line(s) by new
1960 WasK = 1
FOR MsgCt = 1 TO MsgsFromUser
ZOutTxt$ = MID$(WasA1$,WasK,5)
WasK = WasK + 5
GOSUB 12978
IF MsgCt MOD 15 = 0 THEN _
CALL SkipLine (1) : _
CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
NEXT
WasA1$ = ""
CALL SkipLine (1)
IF ZUserSecLevel >= ZOptSec(9) THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Please Kill Your Old Private Messages.") ' UG070501
* REPLACING old line(s) by new
2001 IF (LowMsgNumber > 0 AND ActiveMessages >= MaxMsgs) _
OR HighMsgNumber >= 9999 THEN _
IF ZActiveMessageFile$ = ZMainMsgFile$ AND _
ActiveMessages = 1 THEN _
GOTO 5300 _
* ------[ first line different ]------
ELSE ZOutTxt$ = "Sorry, the Message Base is Full. Try Again Tomorrow." : _ ' UG070501
GOSUB 12979 : _ ' UG070501
GOTO 3650
* REPLACING old line(s) by new
2007 IF ZSysopComment THEN _
ZWasZ$ = ZCmntsFile$ : _
* ------[ first line different ]------
ZMsgHeader$ = "Comment" _ ' UG070501
ELSE ZWasZ$ = ZActiveMessageFile$ : _ ' UG070501
ZMsgHeader$ = "Message" ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
2008 IF ZSysopComment OR ZMsgsCanGrow THEN _ ' UG070501
ZWasY$ = "On Disk" : _ ' UG070501
CALL FindFree : _
GOTO 2009
IF ZNextMsgRec + 5 + ZMaxNodes < HighestMsgRecord THEN _
GOTO 2010
ZWasY$ = "in File" ' UG070501
ZFreeSpace$ = "1"
* REPLACING old line(s) by new
2009 IF VAL(ZFreeSpace$) >= 2000 THEN _
GOTO 2010
* ------[ first line different ]------
ZOutTxt$ = "Sorry, There's No Room " + ZWasY$ + " For Your " + ZMsgHeader$ + "." ' UG070501
GOSUB 12979
GOTO 3650
* REPLACING old line(s) by new
2020 CALL SetWhoTo (-ZEnableCC*(ZUserSecLevel>=ZOptSec(5)),MsgTo$,MsgFrom$,RcvrRecNum,Found)
IF MsgTo$ = "" THEN _
* ------[ first line different ]------
CALL SkipLine (1) : _ ' UG070501
RETURN
IF ZSysopComment OR ZSysopMsg THEN _
GOTO 2100
IF ZReply OR MsgFwd THEN _
Found = ZTrue : _
CALL Trim (MsgTo$): _
GOTO 2035 _
ELSE Subject$ = ""
GOSUB 2065
* REPLACING old line(s) by new
* ------[ first line different ]------
2065 IF Subject$ <> "" THEN ' UG070501
ZOutTxt$ = "Change Subject From " + Subject$ + " To What" ' UG070501
ELSE ' UG070501
ZOutTxt$ = "Subject" + ZPressEnter$ ' UG070501
END IF ' UG070501
ZMacroMin = 99
ZParseOff = ZTrue
GOSUB 12932
IF LEN(ZUserIn$) > 25 THEN _
ZOutTxt$ = "25 Chars Max." : _ ' UG070501
GOSUB 12979 : _
GOTO 2065
IF ZWasQ = 0 THEN _
IF Subject$ <> "" THEN _
RETURN _
ELSE GOSUB 2435 : _
IF ZYes THEN _
RETURN 5160 _
ELSE GOTO 2065
Subject$ = ZUserIn$
CALL AllCaps (Subject$)
OrigSubject$ = Subject$
RETURN
'
' ***** ENTER MAIN BODY OF MESSAGE ****
'
* REPLACING old line(s) by new
* ------[ first line different ]------
2100 ZOutTxt$ = "Enter Your " + _
ZMsgHeader$ + "," + _
STR$(ZMaxMsgLines) + _
" Lines Max. Press [ENTER] By Itself for Menu." ' UG070501
GOSUB 12979 ' UG070501
GOSUB 3200
* REPLACING old line(s) by new
2127 IF ZRemoteEcho OR ZLocalUser THEN _
ZOutTxt$ = RIGHT$(STR$(ZLinesInMsg),2) + _
": " + _
ZOutTxt$(ZLinesInMsg) _
ELSE ZOutTxt$ = ZOutTxt$(ZLinesInMsg)
GOSUB 12978
CALL LineEdit(ZLinesInMsg,ZRightMargin + 1)
IF ZWaitExpired THEN _
GOTO 2300 _
ELSE IF ZSubParm = -1 THEN _
GOTO 10595
CALL FindFKey
IF ZSubParm < 0 THEN _
GOTO 202
IF ZOutTxt$(ZLinesInMsg) = "" THEN _
ZLinesInMsg = ZLinesInMsg - 1 : _
* ------[ first line different ]------
CALL SkipLine (1) : _ ' UG070501
GOTO 2300
* REPLACING old line(s) by new
2140 WasJ = ZLinesInMsg
GOSUB 2200
IF WasX THEN _
* ------[ first line different ]------
CALL SkipLine (1) : _ ' UG070501
GOTO 2300
GOTO 2125
* REPLACING old line(s) by new
2200 WasX = 0
IF WasJ < (ZMaxMsgLines - 2) THEN _
RETURN
* ------[ first line different ]------
ZOutTxt$ = "Warning: " + MID$("2 Lines LeftLast Line Full",12 * (WasJ-(ZMaxMsgLines - 2)) + 1,12) + "." ' UG070501
WasX = (WasJ > (ZMaxMsgLines - 1))
* REPLACING old line(s) by new
* ------[ first line different ]------
2300 ' CALL SkipLine (1) ' UG070501
IF ZExpertUser OR ZAnsIndex < ZLastIndex THEN _ ' UG070501
GOTO 2315 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
2302 ZOutTxt$ = "A)bort, " + LEFT$("B)atch Import, ",-15 * (ZSysop OR ZLocalUser)) + _
"C)ontinue Adding, D)elete Lines, E)dit a Line" ' UG070501
CALL TopPrompt ' UG070501
ZOutTxt$ = "I)nsert Lines, L)ist, M)argin Change, R)evise Subj, S)ave Msg, ?)help" ' UG070501
CALL TopPrompt ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
2315 ZOutTxt$ = "Edit Function <A," + _ ' UG070501
LEFT$("B,",-2 * (ZSysop OR ZLocalUser)) + _
"C,D,E,I,L,M,R,S,?>"
GOSUB 12930
IF ZWasQ = 0 THEN _
GOTO 2315
CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
ZWasZ$ = ZUserIn$(ZAnsIndex)
* REPLACING old line(s) by new
* ------[ first line different ]------
2430 ZOutTxt$ = ZMsgHeader$ + " Aborted." ' UG070501
GOSUB 12979 ' UG070501
GOTO 3650 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
2435 ZOutTxt$ = "Abort Your " + _ ' UG070501
ZMsgHeader$ + _
" (Y,[N])"
GOSUB 12930
RETURN
'
' ***** CHANGE SUBJECT OF A MESSAGE ****
'
* REPLACING old line(s) by new
* ------[ first line different ]------
2500 ZOutTxt$ = "Delete From" ' UG070501
GOSUB 3300
Mark1 = ZTestedIntValue
* REPLACING old line(s) by new
* ------[ first line different ]------
2520 Temp$ = "Through Line #" ' UG070501
CALL ChangeInt (ZFalse,Temp$,0,Mark1,ZLinesInMsg)
IF ZWasQ = 0 THEN _
GOTO 2555 ' UG070501
Mark2 = ZTestedIntValue ' UG070501
' CALL SkipLine(1) ' UG070501
GOTO 2530
* REPLACING old line(s) by new
2522 FOR WasX = Mark1 TO Mark2
CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
IF ZNo OR ZRet THEN _
WasX = Mark2 + 1 _
ELSE ZOutTxt$ = ZOutTxt$(WasX) : _
* ------[ first line different ]------
GOSUB 12979 ' UG070501
NEXT
CALL SkipLine(1)
* REPLACING old line(s) by new
* ------[ first line different ]------
2530 ZOutTxt$ = "Delete Lines" + STR$(Mark1) + " thru " + _ ' UG070501
MID$(STR$(Mark2),2) + " (Y,[N],L)ist)"
GOSUB 12930
Temp$ = ZUserIn$(ZAnsIndex)
CALL AllCaps(Temp$)
IF Temp$ = "L" THEN _ ' UG070501
GOTO 2522 ' UG070501
IF NOT ZYes THEN _ ' UG070501
ZOutTxt$ = "Lines Not Deleted." : _ ' UG070501
GOSUB 12977 : _ ' UG070501
GOTO 2555
* REPLACING old line(s) by new
2550 ZBlockSize = (Mark2 - Mark1) + 1
EndOfBuffer = ZLinesInMsg + 1
ZLinesInMsg = ZLinesInMsg - ZBlockSize
FOR WasX = Mark1 TO ZLinesInMsg
ZOutTxt$(WasX) = ZOutTxt$(WasX + ZBlockSize)
NEXT
FOR WasX = (ZLinesInMsg + 1) TO (EndOfBuffer)
ZOutTxt$(WasX) = ""
NEXT
* ------[ first line different ]------
ZOutTxt$ = MID$(STR$(ZBlockSize), 2) + " Lines Deleted." ' UG070501
GOSUB 12977 ' UG070501
* REPLACING old line(s) by new
2800 IF ZLinesInMsg >= ZMaxMsgLines AND NOT ZSysop THEN _
* ------[ first line different ]------
ZOutTxt$ = "Message is Full." : _ ' UG070501
GOSUB 12979 : _
GOTO 2300
* REPLACING old line(s) by new
2830 WasLL = ZLinesInMsg
WasK = ZLinesInMsg - ZTestedIntValue
FOR WasX = ZTestedIntValue TO ZLinesInMsg
ZUserIn$(WasX + 1 - ZTestedIntValue) = ZOutTxt$(WasX)
ZOutTxt$(WasX) = ""
NEXT
ZLinesInMsg = ZTestedIntValue
* ------[ first line different ]------
' CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
2840 ZOutTxt$ = RIGHT$(STR$(ZLinesInMsg),2) + _
": " + ZOutTxt$(ZLinesInMsg)
GOSUB 12978
CALL LineEdit(ZLinesInMsg,ZRightMargin + 1)
IF ZOutTxt$(ZLinesInMsg) = "" THEN _
* ------[ first line different ]------
CALL SkipLine (1) : _ ' UG070501
GOTO 2920
* REPLACING old line(s) by new
3010 ZStopInterrupts = ZFalse
* ------[ first line different ]------
' CALL SkipLine (1) ' UG070501
IF (ZWasQ = 1 OR MsgFwd) AND NOT ZGetExtDesc THEN _
WasL = 1 : _
ZOutTxt$ = ZFG3$ + "To: " + _
MsgTo$ + _
ZFG4$ + " Subject: " + _ ' UG070501
Subject$ + ZEmphasizeOff$ : _
GOSUB 12979 : _
CALL QuickTPut (MID$(" ",1,-4 * (NOT ZRemoteEcho)),0) : _
GOSUB 3200
* REPLACING old line(s) by new
3020 IF ZGetExtDesc THEN WasL = 1
FOR WasX = WasL TO ZLinesInMsg
CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
IF ZNo OR ZRet THEN _
WasX = ZLinesInMsg + 1 _
ELSE ZOutTxt$ = RIGHT$(STR$(WasX),2) + _
": " + _
ZOutTxt$(WasX) : _
GOSUB 12979
NEXT
* ------[ first line different ]------
CALL SkipLine (1) ' UG070501
RETURN
'
' ***** CHANGE MARGIN WIDTH ****
'
* REPLACING old line(s) by new
* ------[ first line different ]------
3100 CALL ChangeInt (ZTrue,"Right Margin",ZRightMargin,8,72) ' UG070501
IF ZWasQ <> 0 THEN _
ZRightMargin = ZTestedIntValue
* REPLACING old line(s) by new
3300 Temp$ = ZOutTxt$ + " Line #"
Temp = MsgLockLines + 1
* ------[ first line different ]------
' CALL SkipLine (-(ZAnsIndex >= ZLastIndex)) ' UG070501
CALL ChangeInt (ZFalse,Temp$,0,Temp,ZLinesInMsg)
IF ZSubParm = -1 THEN _
RETURN 10595
IF ZWasQ = 0 THEN _
IF Mark1 = 0 THEN _
RETURN 2300
RETURN
'
' **** SAVE MESSAGE ***
'
* REPLACING old line(s) by new
3530 Temp = ZNextMsgRec
ZNextMsgRec = Temp + VAL(ZWasN$)
LSET ZMsgRec$ = MsgRecSave$
GOSUB 24000
GET 1,Temp
ZMsgPtr(ActiveMessages,1) = Temp
ZMsgPtr(ActiveMessages,2) = HighMsgNumber
LSET ZMsgRec$ = MsgNum$ + _
MsgFrom$ + _
MsgTo$ + _
ZCurDate$ + _
Subject$ + _
MsgPswd$ + _
ZActiveMessage$ + _
ZWasN$ + _
SPACE$(4 - LEN(ZWasN$)) + _
MKI$(SecForMsg)
' ---[ write out list of people msg is to ]---
UserFileIndexSave = ZUserFileIndex
UserRecordHold$ = ZUserRecord$
CALL OpenWork (2,ZNodeWorkFile$)
WHILE NOT EOF(2)
CALL ReadParms (ZWorkAra$(),2,1)
MID$(ZMsgRec$,37,22) = LEFT$(ZWorkAra$(1)+ SPACE$(22),22)
RcvrRecNum = VAL(ZWorkAra$(2))
PUT 1,Temp
Temp = Temp + 1
NumRecs = NumRecs - 1
' ---[ notify receiver that has new mail waiting ]---
* ------[ first line different ]------
CALL SetUserFlag (RcvrRecNum, 512, "Mail") ' UG070501
WEND
ZWasN$ = ""
ZOutTxt$ = "Saving Your Message as #" + _ ' UG070501
STR$(HighMsgNumber)
IF NOT ZLocalUser THEN _
CALL UpdtCalr (ZOutTxt$,1)
GOSUB 12978
NumDots = 0
FOR WasJ = 1 TO ZLinesInMsg
CALL MarkTime (NumDots)
ZWasN$ = ZWasN$ + _
ZOutTxt$(WasJ)
IF LEN(ZWasN$) > 127 THEN _
LSET ZMsgRec$ = ZWasN$ : _
PUT 1 : _
ZWasN$ = MID$(ZWasN$,129)
* REPLACING old line(s) by new
* ------[ first line different ]------
3650 CALL SkipLine (1) ' UG070501
QuotedReply = ZFalse ' UG070501
MsgLockLines = 0
IF ZReply OR MsgFwd THEN _
ZReply = ZFalse : _
ZAnsIndex = SaveAnsIndex : _
GOTO 5344
IF ZGetExtDesc THEN _
ZLinesInMsg = 0
RETURN
'
' **** K - COMMAND FROM MAIN MENU (KILL MESSAGE) ***
'
* REPLACING old line(s) by new
3900 ZKillMessage = ZFalse
* ------[ first line different ]------
' CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
3930 ZOutTxt$ = "Kill Which Messages" + LEFT$(", M)arked",-9*(ZMarkedMsgs$ <> "")) + ZPressEnterExpert$ ' UG070501
GOSUB 12932
IF ZWasQ = 0 THEN _
RETURN
GOSUB 1893
ZWasZ$ = ZUserIn$(ZAnsIndex) ' KGK020101
CALL UnMarkItems (ZMarkedMsgs$,ZAnsIndex,ZLastIndex,Found,ZTrue)
* REPLACING old line(s) by new
* ------[ first line different ]------
4040 IF ZAnsIndex >= ZLastIndex THEN _ ' UG070501
CALL SkipLine (1) ' UG070501
IF ZKillMessage THEN _ ' UG070501
RETURN
GOTO 3930
'
' **** Sysop Available toggle
'
* REPLACING old line(s) by new
4240 CALL Toggle(9)
* ------[ first line different ]------
CALL SkipLine (1) ' UG070501
RETURN
'
' **** T)opic - QUICK SCAN MESSAGES ***
'
* REPLACING old line(s) by new
* ------[ first line different ]------
4380 WasA1$ = "H)elp, S)ince, L)ast" ' UG070501
NeedSkip = ZFalse ' UG070501
IF ZGlobalRead THEN _ ' UG070501
CALL QuickTput1 ("Display Messages Globally in Linked Conferences.") : _ ' UG070501
NeedSkip = ZTrue _ ' UG070501
ELSE IF ZLinkedConf$ <> "" THEN _ ' UG070501
WasA1$ = WasA1$ + ", G)lobal" ' UG070501
IF SearchString$ = "" THEN _ ' UG070501
WasA1$ = WasA1$ + ", Text to Look For" _ ' UG070501
ELSE _ ' UG070501
CALL QuickTPut1 ("Display Messages Containing '" + SearchString$ + "' Only.") : _ ' UG070501
NeedSkip = ZTrue ' UG070501
IF AddressedToUser OR ToRequested OR FromRequested THEN _ ' UG070501
ZWasY$ = LEFT$("To",-2*(ToRequested OR AddressedToUser)) + _ ' UG070501
LEFT$(" or ",-AddressedToUser*4) + _ ' UG070501
LEFT$("From",-4*(FromRequested OR AddressedToUser)) : _ ' UG070501
CALL QuickTPut1 ("Display Messages Only "+ZWasY$+" You.") : _' UG070501
NeedSkip = ZTrue _ ' UG070501
ELSE WasA1$ = WasA1$ + ", T)o, F)rom, M)" : _ ' UG070501
IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
WasA1$ = WasA1$ + "arked" _
ELSE WasA1$ = WasA1$ + "ine"
WasA1$ = WasA1$ + ", [Q]uit" + ZCrLf$ + _
"Display Message Numbers (" + _
MID$(STR$(LowMsgNumber),2) + "-" + _
MID$(STR$(ZMsgPtr(ActiveMessages,2)),2) + ") or Command" ' UG070501
IF NeedSkip THEN _ ' UG070501
CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
4390 ZOutTxt$ = WasA1$ ' UG070501
ZMacroMin = 99
ZTurboKey = 0
* REPLACING old line(s) by new
4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
IF ZWasA > 0 THEN _
ToRequested = (ZWasA > 2) : _
FromRequested = (ZWasA < 3) : _
GOTO 4370
IF CurMsg = 0 THEN _
IF SearchHeader$ <> "" THEN _
GOTO 4370 _
ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
SearchCt = 0 : _
CALL AllCaps (SearchString$) : _
CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
SearchHeader$ = SearchString$ : _
SubInHeader$ = SearchHeader$ : _
GOTO 4370
* ------[ first line different ]------
' CALL SkipLine (1) ' UG070501
* REPLACING old line(s) by new
4515 IF Forward THEN _
* ------[ first line different ]------
ZOutTxt$ = "Sorry, No New Messages Found." : _ ' UG070501
ZLastMsgRead = HighMsgNUmber : _
ZMailWaiting = ZFalse _
ELSE ZOutTxt$ = "Message #" + _
STR$(CurMsg) + " Can't Be Found." ' UG070501
IF SubInHeader$ = "" THEN _
GOSUB 12979
ZLastIndex = 0
GOTO 4637
* REPLACING old line(s) by new
4604 ZTurboKey = -ZTurboKeyUser
CALL AskMore (WasA1$,ZTrue,ZFalse,WasXX,ZFalse)
IF ZNo THEN _
IF WasXX >= 32000 THEN _
WasXX = 0 : _
ZAnsIndex = ZLastIndex + 1 : _
* ------[ first line different ]------
CALL SkipLine (1) : _ ' UG070501
RETURN _
ELSE GOTO 4637
IF ZNonStop THEN _
GOTO 4629
CALL AraAllCaps(ZUserIn$(),1)
ZReply = (ZReply OR ZUserIn$(1) ="R")
* REPLACING old line(s) by new
4623 DontPrint = ZFalse
CALL PutMsgAttr
IF MsgFwd THEN GOTO 4624
IF ZNoQuoting THEN GOTO 4627
* ------[ first line different ]------
ZOutTxt$ = "Quote Original Message (Y,[N])" ' UG070501
GOSUB 12999
IF ZRet OR NOT ZYes THEN _
GOTO 4627
* REPLACING old line(s) by new
4624 QuotedReply = ZTrue
ZLinesInMsg = ZLinesInMsg - 1
IF HiLitedLine > 0 THEN _
ZOutTxt$(HiLitedLine) = ZOutTxt$(0) : _
HiLitedLine = 0
IF MsgFwd THEN _
TempRightMargin = ZRightMargin _
ELSE _
TempRightMargin = ZRightMargin - 2
CALL WordWrap (TempRightMargin,ZLinesInMsg,ZOutTxt$())
IF ZLinesInMsg > ZMsgDim THEN _
ZLinesInMsg = ZMsgDim : _
* ------[ first line different ]------
CALL QuickTPut1 ("Warning: Original Message Truncated to" + _
STR$(ZMsgDim) + " Lines.") ' UG070501
IF MsgFwd THEN GOTO 4625
FOR WasX = 1 TO ZLinesInMsg
IF LEFT$(ZOutTxt$(WasX),1) = ">" THEN _
ZOutTxt$(WasX) = ">" + ZOutTxt$(WasX) _
ELSE ZOutTxt$(WasX) = "> " + ZOutTxt$(WasX)
NEXT
* REPLACING old line(s) by new
4625 WasX$ = MsgTo$
GOSUB 2001
IF (ActiveMessages >= MaxMsgs) OR MsgTo$ = "" THEN _
GOTO 4628
IF MsgFwd THEN _
MsgFwd$ = ZActiveUserName$ : _
CALL Trim (MsgFwd$) : _
CALL Trim (WasX$) : _
* ------[ first line different ]------
MsgFwd$ = "Original To: " + WasX$ + _
" Forwarded By: " + MsgFwd$ ' UG070501
IF (MsgFwd AND CanChangeSec AND NOT MsgFromCaller) THEN _
CALL Trim (MsgFrom$) : _
ZOutTxt$ = "Message Was From " + _
MsgFrom$ + _
", Change to " + _ ' UG070501
ZActiveUserName$ + _
" (Y,[N])" : _
GOSUB 12999 : _
IF ZYes THEN _
MsgFrom$ = ZActiveUserName$ : _
CALL Trim (MsgFrom$) : _
GOTO 4626
IF MsgFwd AND NOT MsgFromCaller THEN _
FOR MsgFwdCount = ZLinesInMsg TO 1 STEP -1 : _
ZOutTxt$(MsgFwdCount + 2) = ZOutTxt$(MsgFwdCount) : _
NEXT MsgFwdCount : _
ZOutTxt$(1) = MsgFwd$ : _
ZOutTxt$(2) = "" : _
ZLinesInMsg = ZLinesInMsg + 2 : _
IF NOT CanChangeSec THEN _
MsgLockLines = 1
* REPLACING old line(s) by new
4626 ZWasZ$ = "L"
WasL = 1
IF ZLinesInMsg >= ZMaxMsgLines THEN _
* ------[ first line different ]------
CALL QuickTPut ("Warning: Message Must Be Shorter Than" + _
STR$(ZMaxMsgLines) + " Lines.",1) ' UG070501
IF NOT MsgFwd THEN _
ZOutTxt$ = "Use C to Continue Reply. Please Delete Unneeded Quoted Lines." : _ ' UG070501
GOSUB 12975 ' UG070501
GOSUB 3200
GOSUB 3020
GOSUB 2300
GOTO 4628
* REPLACING old line(s) by new
* ------[ first line different ]------
4630 CALL AskMore (",M)ark, #(s) to Read",ZTrue,ZTrue,WasXX,ZFalse)' UG070501
IF ZWasQ = 0 OR ZYes THEN _
GOTO 4631
IF ZNo OR ZRet THEN _ ' UG070501
CALL SkipLine (1) : _ ' UG070501
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
ZWasZ$ = ZUserIn$(1)
CALL AllCaps (ZWasZ$)
IF ZWasZ$ = "M" THEN _
ZLastIndex = ZWasQ : _
ZAnsIndex = 1 : _
CALL AskItems ("M",ZWasZ$,ZTrue,"Message",ZMarkedMsgs$) ' UG070501
IF VAL(ZWasZ$) > 0 THEN _
FOR WasI = ZWasQ TO 1 STEP -1 : _
ZUserIn$(WasI + 1) = ZUserIn$(WasI) : _
NEXT : _
ZUserIn$(1) = MID$(ZAllOpts$,INSTR(ZOrigCommands$,"R"),1) : _
ZLastIndex = ZWasQ + 1 : _
ZAnsIndex = 1 : _
RETURN 1235 ' KG062301
* REPLACING old line(s) by new
4635 IF WasSO = 0 THEN _ ' end msg read loop top is 4552
WasSO = 1
IF SearchString$ <> "" THEN _
SearchCt = SearchCt + 1 : _
IF SearchCt > 99 THEN _
SearchCt = 0 : _
* ------[ first line different ]------
ZOutTxt$ = "Searched for " + SearchString$ + " Thru Message" + _
STR$(CurMsg) + ". Continue ([Y],N)" : _ ' UG070501
GOSUB 12932 : _
IF ZNo THEN _
RETURN
ZMsgDimIndex = ZMsgDimIndex + WasSO
GOTO 4552
* REPLACING old line(s) by new
4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
* ------[ first line different ]------
CALL QuickTPut2 ("End of Messages.") ' UG070501
RETURN
* REPLACING old line(s) by new
4652 '**** mark current message ****
ZMarkedMsgs$ = ZMarkedMsgs$ + STR$(CurMsg) + ZCarriageReturn$
* ------[ first line different ]------
CALL ReportMarked (ZMarkedMsgs$,"Message") ' UG070501
GOTO 4604
* REPLACING old line(s) by new
4665 CALL Trim (MsgFrom$)
* ------[ first line different ]------
ZOutTxt$ = "Change Sender's Name from " + _ ' UG070501
MsgFrom$ + _
" to"
GOSUB 12995
IF ZWasQ = 0 THEN _
GOTO 4666
IF LEN(ZUserIn$) > 30 THEN _
CALL QuickTPut1 ("30 Chars Max.") : _ ' UG070501
GOTO 4665
CALL AllCaps (ZUserIn$)
MsgFrom$ = ZUserIn$
* REPLACING old line(s) by new
4666 CALL Trim (MsgTo$)
* ------[ first line different ]------
ZOutTxt$ = "Change Receiver's Name from " + _ ' UG070501
MsgTo$ + _
" to"
GOSUB 12995
IF ZWasQ = 0 THEN _
GOTO 4667
IF LEN(ZUserIn$) > 30 THEN _
CALL QuickTPut1 ("30 Chars Max.") : _ ' UG070501
GOTO 4666
CALL AllCaps (ZUserIn$)
MsgTo$ = ZUserIn$
TempMsgTo$ = ZUserIn$
CALL SetWhoTo (ZFalse,MsgTo$,MsgFrom$,RcvrRecNum,Found)
IF MsgTo$ = "" THEN MsgTo$ = TempMsgTo$
* REPLACING old line(s) by new
4667 CALL Trim (Subject$)
* ------[ first line different ]------
ZOutTxt$ = "Change Subject from " + _ ' UG070501
Subject$ + _
" to"
GOSUB 12995
IF ZWasQ = 0 THEN _
GOTO 4668
IF LEN(ZUserIn$) > 25 THEN _
CALL QuickTPut1 ("25 Chars Max.") : _ ' UG070501
GOTO 4667
CALL AllCaps (ZUserIn$)
Subject$ = ZUserIn$
* REPLACING old line(s) by new
* ------[ first line different ]------
4668 CALL ChangeInt (ZTrue,"Read Security",MsgSec,-32000,ZSysopSecLevel) ' UG070501
IF ZWasQ <> 0 THEN _
MsgSec = ZTestedIntValue
* REPLACING old line(s) by new
4670 MsgTo$ = LEFT$(MsgTo$ + SPACE$(22),22)
MsgFrom$ = LEFT$(MsgFrom$ + SPACE$(31),31)
Subject$ = LEFT$(Subject$ + SPACE$(25),25)
MsgPswd$ = LEFT$(MsgPswd$ + SPACE$(15),15)
ZSubParm = 3
CALL FileLock
GET 1,CurHeader
MID$(ZMsgRec$,37,22) = MsgTo$
MID$(ZMsgRec$,6,31) = MsgFrom$
MID$(ZMsgRec$,76,25) = Subject$
MID$(ZMsgRec$,121,2) = MKI$(MsgSec)
MID$(ZMsgRec$,101,15) = MsgPswd$
IF LEFT$(MsgPswd$,6) = "^READ^" THEN _
MID$(ZMsgRec$,1,1) = "*" _
ELSE _
MID$(ZMsgRec$,1,1) = " "
PUT 1,CurHeader
ZSubParm = 4
CALL FileLock
* ------[ first line different ]------
CALL QuickTPut ("Message Header Updated.",2) ' UG070501
' CALL SkipLine (1) ' UG070501
RETURN
'
' **** O - COMMAND FROM MAIN MENU (OPERATOR PAGE) ***
'
* REPLACING old line(s) by new
4700 IF NOT ZSysopAvail THEN _
ZOutTxt$ = "Sorry, " + _
ZSysopFirstName$ + _
* ------[ first line different ]------
" Isn't Available Now." : _ ' UG070501
GOSUB 12979 : _
GOTO 4755
* REPLACING old line(s) by new
* ------[ first line different ]------
4705 ' CALL QuickTPut1 ("Chat with SysOp.") ' UG070501
WasJJ = VAL(MID$(TIME$,1,2))*100 + VAL(MID$(TIME$,4,2))
IF (WasJJ > ZStartOfficeHours AND WasJJ < ZEndOfficeHours) OR ZSysopAnnoy THEN _
GOTO 4710
* REPLACING old line(s) by new
* ------[ first line different ]------
4708 ZOutTxt$ = "SysOp is in from" + _ ' UG070501
STR$(ZStartOfficeHours) + _
" to" + _
STR$(ZEndOfficeHours) + ","
GOSUB 12979
GOTO 4755
* REPLACING old line(s) by new
* ------[ first line different ]------
4710 ZOutTxt$ = "Really Page the SysOp (Y,[N])" ' UG070501
' CALL SkipLine (1) ' UG070501
GOSUB 12999
IF NOT ZYes THEN _
RETURN
PageCount = 0
ZOutTxt$ = "Paging SysOp"
GOSUB 12978
PageTimeStart! = TIMER
TempSnoop = ZSnoop
ZSnoop = ZTrue
CALL Line25
* REPLACING old line(s) by new
* ------[ first line different ]------
4750 GOSUB 4756 ' UG070501
CALL QuickTPut1 ("Apparently, " + ZOutTxt$ + " Isn't Around.") ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
4755 CALL QuickTPut2 ("Try a Message or Comment.") ' UG070501
ZPageStatus$ = "PG!"
CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)
RETURN
* INSERTING new line(s)
4756 ZOutTxt$ = ZSysopFirstName$ ' Convert SysOp's name to mixed case ' UG070501
GOTO 414 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
4765 CALL UpdtCalr ("Paged & chatted with Sysop",1) ' UG070501
ZOutTxt$ = ZSysopFirstName$ + " " + ZSysopLastName$ ' UG070501
GOSUB 414 ' UG070501
ZOutTxt$ = "Hi! This is " + ZOutTxt$ + ", Go Ahead..." ' UG070501
GOSUB 12979 ' UG070501
ZPageStatus$ = ""
* REPLACING old line(s) by new
4855 ZOutTxt$ = ZOutTxt$ + _
* ------[ first line different ]------
"Active Msgs:" + _ ' UG070501
STR$(ActiveMessages)
ZOutTxt$ = ZOutTxt$ + _
" Next Msg #" + _ ' UG070501
STR$(HighMsgNumber + 1)
IF ZLastMsgRead > 0 THEN _
ZOutTxt$ = ZOutTxt$ + _
" Last Msg Read:" + _
STR$(ZLastMsgRead) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
4857 GOSUB 12975
IF (NOT ZSysop) AND (ZUserSecLevel < ZSecKillAny) THEN _ ' UG070501
CALL SkipLine (1) : _ ' UG070501
RETURN
UserWork = (ZHighestUserRecord * .95) + 1
IF ZMsgsCanGrow THEN _
ZWasY$ = " Open" _ ' UG070501
ELSE ZWasY$ = STR$(HighestMsgRecord + 1 - ZMaxNodes - ZNextMsgRec) ' UG070501
ZOutTxt$ = "Users: Used" + _
STR$(CurUserCount - 1) + _
" Avl" + _
STR$(UserWork - CurUserCount) + _
" Msgs: Used" + _
STR$(ActiveMessages) + _
" Avl" + _
STR$(MaxMsgs - ActiveMessages) + _
" Msg Recs: Used" + _
STR$(ZNextMsgRec - 1) + _
" Avl" + ZWasY$ ' UG070501
GOSUB 12977 ' UG070501
ZWasZ$ = ZUpldDriveFile$
CALL FindFree
CALL QuickTPut2 ("Upload Disk Has" + ZFreeSpace$) ' UG070501
RETURN
* REPLACING old line(s) by new
4900 CALL UpdtCalr ("Entered " + ZConfName$,3)
* ------[ first line different ]------
CALL QuickTPut ("Welcome to the " + ZConfName$,1) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
4905 IF NOT TurboLogon THEN ' UG070501
CALL FindIt (ZFileName$) ' UG070501
IF ZOK THEN ' UG070501
GOSUB 1789 ' UG070501
ELSE ' UG070501
CALL SkipLine (1) ' UG070501
END IF ' UG070501
ELSE ' UG070501
CALL SkipLine (1) ' UG070501
END IF ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
5110 IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _ ' UG070501
ZOutTxt$ = "Sorry, Personal Info Change is Unavailable. Rejoin MAIN." : _ ' UG070501
GOSUB 12977 : _ ' UG070501
RETURN ' UG070501
GOSUB 11185 ' UG070501
ZMacroMin = 99
ZParseOff = ZTrue
GOSUB 12960
CALL NewPassword ("Enter a New Password",ZTrue) ' UG070501
IF ZSubParm < 0 THEN _
GOTO 202
IF ZWasQ = 0 THEN _
CALL SkipLine (1) : _ ' UG070501
RETURN ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
5120 ZOutTxt$ = "Reenter Your New Password" ' UG070501
GOSUB 45010
IF ZWasQ = 0 THEN _
RETURN
CALL AllCaps (ZUserIn$)
IF ZWasZ$ <> ZUserIn$ THEN _
ZOutTxt$ = "Passwords Don't Match." : _ ' UG070501
GOSUB 12977 : _ ' UG070501
RETURN
* REPLACING old line(s) by new
5125 IF ZMaxPswdChanges AND _
ChangeThisSession > ZMaxPswdChanges AND _
NOT ZSysop THEN _
* ------[ first line different ]------
ZOutTxt$ = "Password Change Not Allowed Now." : _ ' UG070501
GOSUB 12979 : _ ' UG070501
RETURN _
ELSE CALL SrchPasswrds (Found) : _
IF NOT Found THEN _
GOTO 5129 _
ELSE ZOutTxt$ = "Password Temporarily Changed." : _
GOSUB 12977 : _ ' UG070501
ZPswd$ = ZTempPassword$ : _
ZSecsPerSession! = ZTempTimeAllowed * 60 : _
ZUserSecLevel = ZTempSecLevel : _
GOSUB 41070 : _
ZSysop = (ZUserSecLevel >= ZSysopSecLevel) : _
CALL SetPrompt : _
CALL XferType (2,ZTrue)
IF ZActiveUserName$ = "SYSOP" THEN _
ZUserIn$(1) = "********"
* REPLACING old line(s) by new
* ------[ first line different ]------
5129 GOSUB 12989 ' UG070501
CALL OpenUser (ZHighestUserRecord)
GOSUB 9450
* REPLACING old line(s) by new
5130 IF ZUserFileIndex < 1 OR _
ZUserFileIndex > 32767 THEN _
GOTO 5160
GET 5,ZUserFileIndex
CALL AllCaps (ZUserIn$)
LSET ZPswd$ = ZUserIn$
GOSUB 9440
GOSUB 12991
* ------[ first line different ]------
ZOutTxt$ = "Password Changed." ' UG070501
ZStopInterrupts = ZTrue ' UG070501
GOSUB 12977 ' UG070501
IF ZMaxPswdChanges THEN _
ChangeThisSession = ChangeThisSession + 1
* REPLACING old line(s) by new
5290 CALL NextConf (ZTrue)
IF ZHomeConf$ <> "" THEN _
ConfMailJoin = ZTrue : _
RETURN 1205
IF ZLinkedConf$ = "" THEN _
* ------[ first line different ]------
CALL QuickTPut2("Sorry, No Conference Found to Join.") ' UG070501
GOTO 5301
* REPLACING old line(s) by new
5301 ZStackC = ZTrue
* ------[ first line different ]------
CALL SubMenu ("L)ist, M)ain, N)ext Linked, with Mail S)ince or with P)ersonal Mail" + _ ' UG070501
ZCrLf$ + "What Conference or Command ([ENTER] Quits)",_ ' UG070501
WasA1$,MsgDrvPath$,"M.DEF",",M,MAIN,N,S,P,Q,", _
ZTrue,ZFalse,ZFalse,"C.DEF",WasX,ZFalse)
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
* REPLACING old line(s) by new
5323 IF ZWasZ$ = "MAIN" THEN _
ZWasZ$ = "M"
WasX = (ZWasZ$ = "M")
IF ZWasZ$ = ConfNameSave$ OR (WasX AND ZConfName$ = "MAIN") THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("You're Already in " + ZWasZ$ + ".") : _ ' UG070501
RETURN
ON INSTR("MNSPQ",ZWasZ$) GOTO 5350,5290,5292,5294,10550
IF NOT ZOK THEN _
GOTO 5300
CLOSE 2
'
' **** UPDATE PREVIOUS MESSAGE BASE CHECKPOINT RECORD ***
'
* REPLACING old line(s) by new
5335 IF Found THEN _
GOSUB 9500 : _
ZMainUserFileIndex = -(ZSubBoard * ZUserFileIndex)_
-((NOT ZSubBoard) * ZMainUserFileIndex) : _
Temp = -(ZSubBoard * ZMinLogonSec) _
-((NOT ZSubBoard) * AutoAddSec) : _
GOSUB 5135 : _
GOSUB 5296 : _
WasI = (ZUserSecLevel < OrigMainSec) : _
WasJ = (ZUserSecLevel < Temp) : _
WasK = (WasI AND WasJ) : _
IF WasK THEN _
* ------[ first line different ]------
ZOutTxt$ = "You're Locked Out of" : _ ' UG070501
GOTO 5341 _
ELSE GOSUB 5375 : _
GOTO 5345
'
' **** USER NOT FOUND. AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
'
ZNewUser = ZTrue
IF ZSubBoard THEN _
AutoAddSec = ZMinLogonSec
IF (ZOrigSec >= AutoAddSec) AND _
(ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
LSET ZUserRecord$ = UserRecordHold$ : _
CALL QuickTPut1 ("Adding Your Record to " + ZConfName$ + "...") : _ ' UG070501
MID$(ZUserOption$,3,2) = MKI$(0) : _
MID$(ZUserOption$,1,2) = MKI$(0) : _
ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
CALL Trim (ZActiveUserName$) : _
Temp = -(ZSubBoard * ZDefaultSecLevel) _
-((NOT ZSubBoard) * ZUserSecSave) : _
CALL SetSysOp : _
Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
LSET ZSecLevel$ = MKI$(Temp) : _
ZUserSecLevel = Temp : _
GOSUB 5375 : _
ZPageLength = ZPageLengthDef : _
GOSUB 12986 : _
GOSUB 12630 : _
UpdateDate = ZTrue : _
Found = ZTrue : _
GOTO 5335
IF ZOrigSec >= AutoAddSec THEN _
CALL QuickTPut1 ("Temporarily Adding You to " + ZConfName$ + "...") : _ ' UG070501
ZActiveUserFile$ = PrevUser$ : _
UpdateDate = ZFalse : _
ZUserFileIndex = PrevIndex : _
GOSUB 5382 : _
ZUserFileIndex = 0 : _
GOTO 5345
ZNewUser = ZFalse
* REPLACING old line(s) by new
5340 IF ZInConfMenu THEN _
* ------[ first line different ]------
ZOutTxt$ = "You Can't Join" _ ' UG070501
ELSE ZOutTxt$ = "Security Too Low for Conference" ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
5341 ZOutTxt$ = "Sorry, " + ZOutTxt$ + " " + ZConfName$ + "." ' UG070501
'
' **** CANNOT JOIN THE REQUESTED CONFERENCE. THEREFORE, GO BACK ***
'
GOSUB 1397
ZConfName$ = PrevConfName$
ConfFileName$ = ZConfName$
IF ZSubBoard THEN _
CALL ReadDef (PrevDef$)
ZActiveMessageFile$ = PrevMsg$
GOSUB 5343
ZUserFileIndex = PrevIndex
ZActiveUserFile$ = PrevUser$
GOSUB 5382
ZConfMode = ConfModeSave
GOSUB 12987
ZAnsIndex = 0
ZLastIndex = 0
GOTO 5301
'
' **** RESTORE A MESSAGE BASE ***
'
* REPLACING old line(s) by new
* ------[ first line different ]------
5350 ' IF ZConfName$ <> "MAIN" THEN _
' CALL QuickTPut ("Rejoining " + OrigMsgName$) ' UG070501
CALL DeLink (ZConfName$)
ConfFileName$ = OrigMsgName$
ZNewsFileName$ = OrigNewsFileName$
TurboLogon = ZTrue
ZMarkedMsgs$ = ""
ZWasQ = 0
ZNewUser = ZFalse
ZInConfMenu = ZTrue
IF ZActiveUserName$ = "SYSOP" THEN _
ZActiveUserName$ = ZSecretName$ : _
CALL Trim (ZActiveUserName$)
ZConfigFileName$ = ZOrigCnfg$
CALL ReadDef (ZConfigFileName$)
IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
ZActiveMessageFile$ = ZOrigMsgFile$ : _
GOSUB 5343
IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
GOSUB 5380 : _
ZActiveUserFile$ = ZOrigUserFile$ : _
ZActiveUserName$ = ZOrigUserName$ : _
GOSUB 12598 : _
GOSUB 12990 : _
IF Found THEN _
GOSUB 9500 : _
ZMainUserFileIndex = ZUserFileIndex : _
CALL SetPrompt : _
CALL XferType (2,ZTrue) _
ELSE ZUserFileIndex = 0 : _
ZMainUserFileIndex = 0
CALL UpdtCalr ("Exited " + ZConfName$,3)
ZConfName$ = "MAIN"
ConfNameSave$ = ZConfName$
GOSUB 2350
ZUplds = ZGlobalUplds
ZDnlds = ZGlobalDnlds
ZDLToday! = ZGlobalDLToday!
ZBytesToday! = ZGlobalBytesToday!
ZDLBytes! = ZGlobalDLBytes!
ZULBytes! = ZGlobalULBytes!
ZBankTime = ZGlobalBankTime
* REPLACING old line(s) by new
* ------[ first line different ]------
5400 ' CALL SkipLine(2) ' UG070501
CALL QuickTPut1 ("Your User Profile:") ' UG070501
* REPLACING old line(s) by new
5410 CALL Toggle(-9)
GOSUB 43020
ZFF = INSTR(ZDefaultXfer$,ZUserXferDefault$)
CALL Toggle(-5)
GOSUB 42810
CALL Toggle(-3)
CALL Toggle(-6)
CALL Toggle(-7)
CALL Toggle(-10)
CALL Toggle(-2)
CALL Toggle(-4)
CALL Toggle(-8)
CALL Toggle(-1)
IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
IF ZUserSecLevel > ZTempExpiredSec THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Registration Expires " + ZExpirationDate$) ' UG070501
CALL SkipLine (1) ' UG070501
RETURN
'
' ***** B - COMMAND FROM UTILITY MENU (Bank Time) ****
'
* REPLACING old line(s) by new
8050 MsgFrom$ = MID$(ZMsgRec$,6,31)
CALL Trim (MsgFrom$)
IF LEN(MsgFrom$) < 23 THEN _
MsgFrom$ = MsgFrom$ + _
SPACE$(23 - LEN(MsgFrom$))
IF ZUserSecLevel >= ZSecChangeMsg THEN _
Year$ = " Security:" + _
STR$(MsgSec) _
ELSE Year$ = ""
IF MID$(ZMsgRec$,101,1) = "!" THEN _
MID$(ZMsgRec$,1,1) = "!"
ZOutTxt$ = ZFG1$ + "Msg #: " + _
LEFT$(ZMsgRec$,5) + _
Year$ + SPACE$ (22-LEN(Year$)) + ZConfName$
Year$ = ZFG4$ + " Sent: " + _
MID$(ZMsgRec$,68,8) + _
" " + _
MID$(ZMsgRec$,59,5)
IF NOT ZRet THEN _
IF ReadMsgs THEN _
CALL QuickTPut1 (ZOutTxt$): _
WasX$ = MsgFrom$ : _
CALL CheckColor (WasX$,SubInHeader$,ZFG2$) : _
CALL QuickTPut1 (ZFG2$ + " From: " + WasX$ + Year$) : _
GOSUB 8076 : _
WasX$ = MsgTo$ : _
CALL CheckColor (WasX$,SubInHeader$,ZFG3$) : _
CALL QuickTPut1 (ZFG3$ + " To: " + WasX$ + " " + ZFG2$ + Year$) : _
CALL CheckColor (Subject$,SubInHeader$,ZFG4$) : _
* ------[ first line different ]------
ZOutTxt$ = ZFG4$ + " Subj: " + _ ' UG070501
Subject$ + ZEmphasizeOff$ _
ELSE ZOutTxt$ = ZFG1$ + LEFT$(ZMsgRec$,5) + _
" " + _
MID$(ZMsgRec$,68,5) + _
" " + _
+ ZFG2$ + LEFT$(MsgFrom$,18) + _
" -> " + _
+ ZFG3$ + LEFT$(MsgTo$,19) + _
" " + _
+ ZFG4$ + LEFT$(Subject$,24) + ZEmphasizeOff$ : _
CALL CheckColor (ZOutTxt$,SubInHeader$,"") : _
GOTO 8080
IF QuickScanMsgs OR _
ScanMsgs THEN _
GOTO 8080 _
ELSE GOTO 8077
* REPLACING old line(s) by new
8076 IF MID$(ZMsgRec$,123,6) = STRING$(6,0) OR _
MID$(ZMsgRec$,123,6) = SPACE$(6) THEN _
* ------[ first line different ]------
Year$ = " Rcvd: -No-" : _ ' UG070501
RETURN
Year$ = " Rcvd: " + _
RIGHT$(STR$(ASC(MID$(ZMsgRec$,123,1))),2) + _
"-" + _
RIGHT$(STR$(ASC(MID$(ZMsgRec$,124,1))),2) + _
"-" + _
RIGHT$(STR$(ASC(MID$(ZMsgRec$,125,1))),2) + _
" " + _
RIGHT$(STR$(ASC(MID$(ZMsgRec$,126,1))),2) + _
":" + _
RIGHT$(STR$(ASC(MID$(ZMsgRec$,127,1))),2)
FOR WasI = 8 TO 15
IF MID$(Year$,WasI,1) = " " THEN _
MID$(Year$,WasI,1) = "0"
NEXT
FOR WasI = 17 TO 21
IF MID$(Year$,WasI,1) = " " THEN _
MID$(Year$,WasI,1) = "0"
NEXT
RETURN
* REPLACING old line(s) by new
9085 IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
GOTO 9050
ZOutTxt$(ZLinesInMsg) = ZOutTxt$
IF Bracketed THEN _
Bracketed = ZFalse : _
HiLitedLine = ZLinesInMsg
ZLinesInMsg = ZLinesInMsg + 1
IF ZLinesInMsg > MsgDimXtra THEN _
ZLinesInMsg = ZLinesInMsg - 1 : _
CALL SkipLine (1) : _
* ------[ first line different ]------
CALL QuickTPut1 ("Message Too Long. Truncated to" + STR$(MsgDimXtra) + " Lines.") : _ ' UG070501
ZOutTxt$ = "" : _
RETURN
IF NOT DontPrint THEN _
GOSUB 12979 : _
IF ZRet THEN _
ZOutTxt$ = "" : _
RETURN _
ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
IF ZNo THEN _
DontPrint = ZTrue
GOTO 9050
* REPLACING old line(s) by new
9100 CALL RptTime
* ------[ first line different ]------
CALL SkipLine (1) ' UG070501
RETURN
'
' * WRITE A RECORD TO THE RBBS-PC "USER" FILE
'
* REPLACING old line(s) by new
9700 ReturnToPrompt = (ZAnsIndex < ZLastIndex) ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
9701 ReturnOn$ = ",*,S,N," ' UG070501
WasA1$ = ZBulletinMenu$ ' UG070501
* INSERTING new line(s)
9702 CALL SubMenu ("What Bulletins, L)ist, S)ince, N)ews" + ZPressEnterExpert$,_ ' UG070501
WasA1$, ZBulletinPrefix$,"",ReturnOn$,_
ZFalse,ZFalse,ZFalse,"",WasX,ZTrue)
IF ZWasQ = 0 THEN _
RETURN
CALL CheckCarrier
IF ZSubParm = -1 THEN _
RETURN 10595
IF (ZWasZ$ = "*" OR ZWasZ$ = "S") THEN _
ZPrevPrefix$ = "" : _
GOTO 9760
ZStopInterrupts = ZFalse
IF ZWasZ$ = "N" THEN _
GOSUB 1242 : _
IF WasZ <> 0 THEN _
CALL QuickTPut2 ("Sorry, No News is Available.") : _ ' UG070501
GOTO 9704 _ ' UG070501
ELSE GOTO 9703
CALL BufFile (ZFileName$,ZAnsIndex)
* REPLACING old line(s) by new
9703 CALL UpdtCalr ("Read bulletin " + ZFileName$,1)
* INSERTING new line(s)
9704 IF ReturnToPrompt AND ZAnsIndex >= ZLastIndex THEN _ ' UG070501
RETURN ' UG070501
ReturnToPrompt = ZFalse ' UG070501
GOTO 9702 ' UG070501
'
' * CHECK AND REVIEW NEW BULLETINS SINCE Last LOGON
'
* REPLACING old line(s) by new
9760 ' **** [entry when want review plus chance to read] *********
GOSUB 9750
* ------[ first line different ]------
IF NumNewBullets = 0 THEN _ ' UG070501
CALL SkipLine (1) _ ' UG070501
ELSE _ ' UG070501
ZLastIndex = NumNewBullets + 1 : _ ' UG070501
ZOutTxt$ = "Read the New Bulletins ([Y],N)" : _ ' UG070501
GOSUB 12999 : _
IF NOT ZNo THEN _
FOR Temp = 1 TO NumNewBullets : _
ZUserIn$(Temp) = ZOutTxt$(Temp+1) : _
NEXT : _
ZAnsIndex = 0 : _
ZLastIndex = NumNewBullets : _
GOTO 9701 ' UG070501
ZLastIndex = 0
IF ZAnsIndex < 1 THEN _
RETURN
GOTO 9702 ' UG070501
'
' * W - COMMAND FROM MAIN MENU (WHO'S ON THE OTHER NODES)
'
* REPLACING old line(s) by new
10070 CALL Muzak (7)
ZFileName$ = ZCmntsFile$
IF NOT ZStopInterrupts THEN _
* ------[ first line different ]------
ZOutTxt$ = "* Ctrl-K(^K) or ^X Aborts, ^S Pauses (^Q Resumes) *" : _ ' UG070501
GOSUB 12976
GOSUB 20150
RETURN
'
' * U - COMMAND FROM UTILITY MENU (DISPLAY USERS)
' * 2 - COMMAND FROM SYSOP MENU (DISPLAY USERS)
'
* REPLACING old line(s) by new
10090 CALL Muzak (6)
* ------[ first line different ]------
ZOutTxt$ = "List: U)sers, R)ecent Callers" ' UG070501
ZMacroMin = 2 ' UG070501
' CALL SkipLine (1) ' UG070501
GOSUB 12930
IF ZWasQ = 0 THEN _
RETURN
CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10090,10096,10093
* REPLACING old line(s) by new
10099 ZOutTxt$ = ""
* ------[ first line different ]------
CALL SkipLine (1) ' UG070501
LSET ZUserRecord$ = UserRecordHold$
ZStopInterrupts = ZTrue
RETURN
'
' * 3 - COMMAND FROM SYSOP MENU (RECOVER MESSAGES)
'
* REPLACING old line(s) by new
* ------[ first line different ]------
10391 CALL ChangeInt (ZFalse,"Recover Which Message",0,1,9999) ' UG070501
IF ZWasQ = 0 THEN _
RETURN
MsgToRecover = ZTestedIntValue
GOSUB 5344
ActionFlag = ZFalse
CALL RecoverMsg (MsgToRecover,FirstMsgRecord,ActionFlag)
MsgRecovered = MsgRecovered OR ActionFlag
GOTO 10391
* REPLACING old line(s) by new
* ------[ first line different ]------
10530 ZOutTxt$ = "Delete the Comments File (Y,[N])" ' UG070501
GOSUB 12995
IF ZYes THEN _
CALL OpenOutW (ZCmntsFile$)
CLOSE 2
* REPLACING old line(s) by new
10553 CALL UpdtCalr ("Time limit exceeded",1)
* ------[ first line different ]------
CALL QuickTPut1 ("Time Limit Exceeded.") ' UG070501
'
' * Q - COMMAND FROM GLOBAL FUNCTIONS
'
* REPLACING old line(s) by new
10570 IF MinsRemaining > 1 AND (ZTurboKeyUser OR NOT ZExpertUser) THEN _
* ------[ first line different ]------
ZOutTxt$ = "Really Log Off (Y,[N])" : _ ' UG070501
GOSUB 12930 : _
IF NOT ZYes THEN _
RETURN
GetOut = ZTrue
' CALL SkipLine (1) ' UG070501
GOTO 10560
* REPLACING old line(s) by new
10595 CALL GetTime
GOSUB 13700
ZSubParm = 0
CALL Carrier
IF ZSubParm = -1 THEN _
GOTO 10597
IF ZConfName$ = OrigMsgName$ THEN _
GetOut = ZTrue
IF (ZSubBoard AND (NOT GetOut) AND (NOT ZSleepDisconnect)) THEN _
GOSUB 5380 : _
ZHomeConf$ = "M" : _
* ------[ first line different ]------
CALL QuickTPut1 ("Time Limit Exceeded in " + ZConfName$ + ".") : _ ' UG070501
ZSubBoard = ZFalse : _
GOTO 1205
* REPLACING old line(s) by new
10698 CALL Muzak (5)
IF ZFunctionKey = 22 THEN _
GOTO 13545
* ------[ first line different ]------
ZOutTxt$ = "System Access Denied!" ' UG070501
GOSUB 12976
CALL DelayTime (8 + ZBPS)
GOTO 13545
'
' * M - COMMAND FROM UTILITY MENU (CHANGE MARGINS)
'
* REPLACING old line(s) by new
10930 IF (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("Sorry, Remote DOS Isn't Available.") : _ ' UG070501
RETURN
* REPLACING old line(s) by new
10932 IF ZLocalUser AND NOT ZDebug THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("Sorry, Only for Remote SysOps.") : _ ' UG070501
RETURN
CALL DosExit
ZSubParm = -9
CALL FindFKey
GOTO 202
'
' * D - COMMAND FROM MAIN MENU (EXIT TO DOORS)
'
* REPLACING old line(s) by new
10970 IF NOT ZDoorsAvail OR _
(ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
* ------[ first line different ]------
CALL QuickTPut2 ("Sorry, No Doors are Available.") : _ ' UG070501
RETURN
IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
CALL TimeLock : _
IF NOT ZOK THEN _
RETURN
* REPLACING old line(s) by new
10974 WasA1$ = ZMenu$(5)
CALL Talk (5,ZOutTxt$)
ZStackC = ZTrue
* ------[ first line different ]------
CALL SubMenu ("Open Which Door, L)ist" + ZPressEnterExpert$, _ ' UG070501
WasA1$,"",".BAT","",_
ZTrue,ZFalse,ZFalse,"",InMenu,ZFalse)
IF ZWasQ = 0 THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
* REPLACING old line(s) by new
* ------[ first line different ]------
11127 ZOutTxt$ = "What Record #" ' UG070501
GOSUB 12932
GOTO 11125
'
' * D - COMMAND FROM 5- USER MAINTENANCE OPTIONS (DELETE USER)
'
* REPLACING old line(s) by new
* ------[ first line different ]------
11130 ZOutTxt$ = "Really Delete this User (Y,[N])" ' UG070501
GOSUB 12995
IF ZYes THEN _
LSET ZUserName$ = CHR$(0) + _
"deleted user" : _
LSET ZSecLevel$ = MKI$(ZMinLogonSec - 1) : _
LSET ZLastDateTimeOn$ = "01-01-80" + _
" " + _
ZTimeLoggedOn$
GOTO 11290
'
' * N - COMMAND FROM 5- USER MAINTENANCE OPTIONS (CHANGE USER PASSWORD)
'
* REPLACING old line(s) by new
* ------[ first line different ]------
11185 CALL QuickTPut1 ("Your "+ ZUserLocation$ + " is Now Set to " + ZWasCI$ + ".") ' UG070501
WasA1$ = "Enter a New " ' UG070501
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
11340 ZOutTxt$ = "Find What " + ZPromptHash$ ' UG070501
' CALL SkipLine (1) ' UG070501
ZParseOff = ZTrue
GOSUB 12932
IF ZWasQ = 0 THEN _
GOTO 11340
TempHashValue$ = ZUserIn$
* REPLACING old line(s) by new
* ------[ first line different ]------
11342 ZOutTxt$ = "Find What " + ZPromptIndiv$ ' UG070501
GOSUB 12995
IF ZWasQ = 0 THEN _
GOTO 11342
TempIndivValue$ = ZUserIn$
IF LEN(TempIndivValue$) > ZLenIndiv THEN _
GOTO 11342
CALL AllCaps (TempIndivValue$)
* REPLACING old line(s) by new
11380 ZOutTxt$ = TempHashValue$ + _
" " + _
TempIndivValue$ + _
* ------[ first line different ]------
" Not Found." ' UG070501
GOSUB 12977
GOTO 11310
'
' * S - COMMAND FROM 5- USER MAINTENANCE OPTIONS (CHANGE USER SECURITY)
'
* REPLACING old line(s) by new
* ------[ first line different ]------
11395 ZOutTxt$ = "Enter a New Sec Level" + ZPressEnter$ ' UG070501
GOSUB 12932
ZWasZ$ = ZUserIn$(ZAnsIndex)
WasOF = VAL(ZWasZ$)
IF WasOF > ZUserSecLevel THEN _
WasOF = ZUserSecLevel
RETURN
'
' * R - COMMAND FROM 5- USER MAINTENANCE OPTIONS (RESET USER GRAPHICS)
'
* REPLACING old line(s) by new
* ------[ first line different ]------
11450 ZOutTxt$ = "Enter New Registration Date (MM-DD-YY)" ' UG070501
GOSUB 12932
IF ZWasQ = 0 THEN _
GOTO 11015
* REPLACING old line(s) by new
12300 WasA1$ = ""
Attempts = 0
FirstNameSave$ = ZFirstName$
LastNameSave$ = ZLastName$
ActiveUserNameSave$ = ZActiveUserName$
CityStateSave$ = ZWasCI$
HashValueSave$ = HashValue$
IndivValueSave$ = ZIndivValue$
GOSUB 12500
GOSUB 12840
GOSUB 12850
GOSUB 12598
IF ZUserFileIndex = 0 THEN _
GOSUB 12984 : _
GOTO 12330
IF Found THEN _
* ------[ first line different ]------
WasD$ = "User Already Exists." : _ ' UG070501
GOSUB 1315 : _
GOSUB 12984 : _
GOTO 12330
* REPLACING old line(s) by new
* ------[ first line different ]------
12555 GOSUB 12933 ' UG070501
IF ZWasQ = 0 THEN _
RETURN 12500
* REPLACING old line(s) by new
* ------[ first line different ]------
12558 ZOutTxt$ = "Did You Spell Your Name Correctly ([Y],N)" ' UG070501
GOSUB 12995
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
12595 CALL QuickTPut1 ("Invalid Name. Call Logged and Recorded!") ' UG070501
CALL UpdtCalr ("Name violation: "+ZActiveUserName$,1)
GOTO 10621
'
' * COMMON SEARCH USER FILE ROUTINE
'
* REPLACING old line(s) by new
12600 GOSUB 4910
GOSUB 12988
IF ZInConfMenu THEN _
IF NOT ZPrivateDoor THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("Checking " + ConfFileName$ + " Users...") ' UG070501
* REPLACING old line(s) by new
12605 CALL OpenUser (ZHighestUserRecord)
GOSUB 9450
CALL FindUser (TempHashValue$,TempIndivValue$,ZStartHash,ZLenHash,_
ZStartIndiv,ZLenIndiv,ZHighestUserRecord,Found,_
ZUserFileIndex,ZWasSL)
IF Found THEN _
RETURN
IF CurUserCount < (ZHighestUserRecord-1)*.95 THEN _
RETURN
* ------[ first line different ]------
ZOutTxt$ = "Sorry, No New User Room Left in " + ZConfName$ + "." ' UG070501
CALL UpdtCalr ("No room for new users in " + ZConfName$,2) ' UG070501
IF ZActiveUserFile$ <> ZMainUserFile$ THEN _
ZUserFileIndex = 0 : _
RETURN
IF ZRememberNewUsers AND NOT ZSurviveNoUserRoom THEN _
GOSUB 1397
ZUserFileIndex = 0
IF ZSurviveNoUserRoom THEN _
ZRememberNewUsers = ZFalse
RETURN
'
' * AUGMENT USER COUNT, LOCK 4 REC BLOCK IN USER, UNLOCK FILES
'
* REPLACING old line(s) by new
* ------[ first line different ]------
12800 CALL NewPassword ("Enter a Password to Use Here",ZFalse) ' UG070501
IF ZSubParm < 0 THEN _
GOTO 202
IF UserSecLevelSave < ZSysopSecLevel THEN _
IF ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
GOTO 12800
LSET ZPswd$ = ZWasZ$
RETURN
'
' * GET HASH VALUE FOR CURRENT USER TO LOOK UP IN THE USER'S FILE
'
* REPLACING old line(s) by new
* ------[ first line different ]------
12932 CALL UglyPopCmdStack ' UG070501
GOTO 12997 ' UG070501
* INSERTING new line(s)
12933 CALL PopCmdStack ' UG070501
GOTO 12997
'
' * GET CITY AND STATE
'
* REPLACING old line(s) by new
12960 ZOutTxt$ = WasA1$ + _
ZUserLocation$
IF NOT ZNewUser THEN _
ZOutTxt$ = ZOutTxt$ + ZPressEnter$
ZParseOff = ZTrue
GOSUB 12932
IF ZWasQ = 0 OR ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
IF ZNewUser THEN _
GOTO 12960 _
ELSE RETURN
CALL AllCaps (ZUserIn$)
* ------[ first line different ]------
IF NOT ZNewUser THEN _ ' UG070501
CALL QuickTPut2 ("Set to "+ZUserIn$) ' UG070501
LSET ZCityState$ = ZUserIn$
ZWasCI$ = ZUserIn$
RETURN
'
' * S - COMMAND FROM 5 - USER MAINTENANCE OPTIONS (SCAN USERS)
'
* REPLACING old line(s) by new
12962 WasX = 0
ZFF = ZFalse
ZMacroMin = 99
* ------[ first line different ]------
ZOutTxt$ = "String to Search" ' UG070501
GOSUB 12998
IF ZWasQ = 0 THEN _
GOTO 11001
CALL AllCaps (ZUserIn$)
WasWK$ = ZUserIn$
IF ScanFunction$ = "L" THEN _
WasWK$ = "," + _
STR$(VAL(WasWK$)) + _
","
* REPLACING old line(s) by new
* ------[ first line different ]------
12975 ZSubParm = 1 ' skip, print, cr/lf ' UG070501
GOTO 12981 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
12976 ZSubParm = 2 ' skip, print, cr/lf, cr/lf ' UG070501
GOTO 12981 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
12977 ZSubParm = 3 ' print, cr/lf, cr/lf ' UG070501
GOTO 12981 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
12978 ZSubParm = 4 ' print, no cr/lf ' UG070501
GOTO 12981 ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
12979 ZSubParm = 5 ' print, cr/lf ' UG070501
GOTO 12981
* REPLACING old line(s) by new
12996 CALL UglyTGet ' UG070501
* REPLACING old line(s) by new
23100 GET 1,ZNextMsgRec
IF MID$(ZMsgRec$,61,1) = ":" THEN _
CALL CheckInt (MID$(ZMsgRec$,117,4)) : _
IF ZErrCode = 0 AND (ZTestedIntValue > 1) AND (ZTestedIntValue < 100) THEN _
WasY = ZTestedIntValue : _
CALL CheckInt (MID$(ZMsgRec$,2,4)) : _
IF ZErrCode = 0 AND ZTestedIntValue > HighMsgNumber THEN _
HighMsgNumber = ZTestedIntValue : _
ZNextMsgRec = ZNextMsgRec + WasY : _
* ------[ first line different ]------
CALL QuickTPut1 ("Fixing Invalid Message Header.") : _ ' UG070501
MsgCorrected = ZTrue : _
GOTO 23100
RETURN
'
' * UPDATE MESSAGE HEADER RECORD DATA
'
* REPLACING old line(s) by new
30200 IF ZTimeLock AND 2 AND NOT ZHasPrivDoor THEN _
CALL TimeLock : _
IF NOT ZOK THEN _
RETURN
IF ZLibDiskChar$ = "0000" THEN _
* ------[ first line different ]------
CALL QuickTPut1 ("You Have to Select a Library Disk First.") : _ ' UG070501
RETURN
ZSubParm = 3
CALL Library
GOTO 20160
'
' * CALCULATE TIME REMAINING FOR USER
'
* REPLACING old line(s) by new
* ------[ first line different ]------
41070 ZOutTxt$ = "Your Access Level is" + _ ' UG070501
STR$(ZUserSecLevel) + _
MID$(" (SYSOP)",1,-8 * (ZUserSecLevel >= ZSysopSecLevel))
GOSUB 12975
RETURN
'
' * NULLS SET FOR NEW USERS
'
* REPLACING old line(s) by new
* ------[ first line different ]------
42700 ' CALL SkipLine (1) ' UG070501
ZOutTxt$ = "TurboKeys Allow Single Key Commands Without ENTER." + _ ' UG070501
ZCrLf$ + "Use TurboKeys (Y,[N])" ' UG070501
GOSUB 12999
ZTurboKeyUser = NOT ZYes
CALL Toggle (8)
RETURN
'
' * F - COMMAND FROM UTILITY MENU (FILE Transfer DEFALUT MODE)
' * FILE Transfer DEFAULT SET FOR NEW USERS
'
* REPLACING old line(s) by new
42800 ZFF = INSTR(ZDefaultXfer$,ZUserXferDefault$)
IF ZFF = 0 THEN _
ZFF = INSTR(ZInternalEquiv$,"N")
* ------[ first line different ]------
CALL QuickTPut2 ("Current Protocol: "+MID$(ZDefaultXfer$,ZFF,1)) ' UG070501
* REPLACING old line(s) by new
42805 ZOutTxt$ = "Default "
CALL XferType (3,ZExpertUser)
IF ZSubParm = -1 THEN _
RETURN 10595
ZUserXferDefault$ = ZWasFT$
* ------[ first line different ]------
GOSUB 42810 ' UG070501
CALL SkipLine (1) ' UG070501
RETURN ' UG070501
* REPLACING old line(s) by new
* ------[ first line different ]------
42851 ZOutTxt$ = "Change to R)BBS, C)aller's Software" + _
MID$(", I)ntermediate Host",1,-20 * (ZHostEchoOn$ <> "")) + _ ' UG070501
ZPressEnterExpert$
GOSUB 12930
IF ZWasQ = 0 THEN _
RETURN
* REPLACING old line(s) by new
* ------[ first line different ]------
43020 ZOutTxt$ = "Menu Graphics: " + _ ' UG070501
MID$("None AsciiColor",ZWasGR * 5 + 1,5)
GOSUB 12979
RETURN
* REPLACING old line(s) by new
43022 ZPrevPUI$ = ""
IF ZEmphasizeOnDef$ = "" THEN _
RETURN
* ------[ first line different ]------
ZOutTxt$ = "Display Prompts in Color ([Y],N)" ' UG070501
GOSUB 12930
ZHiLiteOff = NOT ZNo
CALL Toggle(5)
CALL SkipLine (1) ' UG070501
RETURN